package entities;

import services.impl.StandardOPs;
import java.util.List;
import java.util.LinkedList;
import java.util.ArrayList;
import java.util.Arrays;
import java.time.LocalDate;
import java.io.Serializable;
import java.lang.reflect.Method;

public class Team implements Serializable {
	
	/* all primary attributes */
	private String Id;
	private String Name;
	private String Introduce;
	private String BelongTeacher;
	
	/* all references */
	private Teacher TeamBelongTeacher; 
	private List<Student> TeamHasStudent = new LinkedList<Student>(); 
	private List<StudentInTeam> TeamHasStudentLink = new LinkedList<StudentInTeam>(); 
	
	/* all get and set functions */
	public String getId() {
		return Id;
	}	
	
	public void setId(String id) {
		this.Id = id;
	}
	public String getName() {
		return Name;
	}	
	
	public void setName(String name) {
		this.Name = name;
	}
	public String getIntroduce() {
		return Introduce;
	}	
	
	public void setIntroduce(String introduce) {
		this.Introduce = introduce;
	}
	public String getBelongTeacher() {
		return BelongTeacher;
	}	
	
	public void setBelongTeacher(String belongteacher) {
		this.BelongTeacher = belongteacher;
	}
	
	/* all functions for reference*/
	public Teacher getTeamBelongTeacher() {
		return TeamBelongTeacher;
	}	
	
	public void setTeamBelongTeacher(Teacher teacher) {
		this.TeamBelongTeacher = teacher;
	}			
	public List<Student> getTeamHasStudent() {
		return TeamHasStudent;
	}	
	
	public void addTeamHasStudent(Student student) {
		this.TeamHasStudent.add(student);
	}
	
	public void deleteTeamHasStudent(Student student) {
		this.TeamHasStudent.remove(student);
	}
	public List<StudentInTeam> getTeamHasStudentLink() {
		return TeamHasStudentLink;
	}	
	
	public void addTeamHasStudentLink(StudentInTeam studentinteam) {
		this.TeamHasStudentLink.add(studentinteam);
	}
	
	public void deleteTeamHasStudentLink(StudentInTeam studentinteam) {
		this.TeamHasStudentLink.remove(studentinteam);
	}
	


}
